home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Interfaces & Libraries / Interfaces / AIncludes / Dictionary.a < prev    next >
Encoding:
Text File  |  1993-11-30  |  3.7 KB  |  134 lines  |  [TEXT/MPS ]

  1. ;    File:        Dictionary.a
  2. ;
  3. ;    Copyright:    © 1983-1993 by Apple Computer, Inc.
  4. ;                All rights reserved.
  5. ;
  6. ;    Version:    System 7.1 for ETO #11
  7. ;    Created:    Tuesday, March 30, 1993 18:00
  8. ;
  9. ;___________________________________________________________________________
  10.  
  11.     IF &TYPE('__INCLUDINGDICTIONARY__') = 'UNDEFINED' THEN
  12. __INCLUDINGDICTIONARY__    SET    1
  13.  
  14.     IF &TYPE('__INCLUDINGTRAPS__') = 'UNDEFINED' THEN
  15.                     INCLUDE 'Traps.a'
  16.     ENDIF
  17.  
  18.     IF &TYPE('__INCLUDINGFSEQU__') = 'UNDEFINED' THEN
  19.                     INCLUDE 'FSEqu.a'
  20.     ENDIF
  21.  
  22. ; Dictionary data insertion modes.
  23.  
  24. kInsert                 EQU     0            ; Only insert the input entry if there is nothing in the dictionary that matches the key.
  25. kReplace                 EQU     1            ; Only replace the entries which match the key with the input entry.
  26. kInsertOrReplace         EQU     2            ; Insert the entry if there is nothing in the dictionary which matches the key.
  27.                                             ; If there is already matched entries, replace the existing matched entries with the input entry.
  28. ; Key attribute constants.
  29.  
  30. kIsCaseSensitive            EQU        $10        ; case sensitive = 16.
  31. kIsNotDiacriticalSensitive    EQU        $20        ; diac not sensitive = 32.
  32.  
  33. ; Registered attribute type constants.
  34.  
  35. kNoun                    EQU        -1
  36. kVerb                    EQU        -2
  37. kAdjective                EQU        -3
  38. kAdverb                    EQU        -4
  39.  
  40. ; Dictionary information record type.
  41.  
  42. DictionaryInformation    RECORD      0,INCREMENT
  43. dictionaryFSSpec        DS            FSSpec            ; FSSpec record
  44. numberOfRecords            DS.L        1                ; long integer
  45. currentGarbageSize        DS.L        1                ; long integer
  46. script                    DS.W        1                 ; ScriptCode
  47. maximumKeyLength        DS.W        1                ; short integer
  48. keyAttributes            DS.B        1                ; unsigned byte
  49. padding                    DS.B        1                ; byte padding
  50. size                    EQU            *
  51.                           ENDR
  52.  
  53. ; Define the Dictionary Manager Dispatch trap opword
  54. _DictionaryDispatch        OPWORD      $AA53
  55.  
  56. ; Define the selector and the parameter size for each Dictionary Manager call.
  57. selectInitializeDictionary                    EQU    0
  58. paramWordsInitializeDictionary                EQU    5 
  59.  
  60. selectOpenDictionary                        EQU    1
  61. paramWordsOpenDictionary                    EQU    5
  62.  
  63. selectCloseDictionary                        EQU    2
  64. paramWordsCloseDictionary                    EQU    2
  65.  
  66. selectInsertRecordToDictionary                EQU    3
  67. paramWordsInsertRecordToDictionary            EQU    7
  68.  
  69. selectDeleteRecordFromDictionary            EQU    4
  70. paramWordsDeleteRecordFromDictionary        EQU    4
  71.  
  72. selectFindRecordInDictionary                EQU    5
  73. paramWordsFindRecordInDictionary            EQU    8
  74.  
  75. selectFindRecordByIndexInDictionary            EQU    6
  76. paramWordsFindRecordByIndexInDictionary        EQU    10
  77.  
  78. selectGetDictionaryInformation                EQU    7
  79. paramWordsGetDictionaryInformation            EQU    4
  80.  
  81. selectCompactDictionary                        EQU    8
  82. paramWordsCompactDictionary                    EQU    2
  83.  
  84. ; Define the dispatch macros to get to the calls.
  85.  
  86.     MACRO
  87.     _InitializeDictionary
  88.         DoDispatch _DictionaryDispatch, selectInitializeDictionary, paramWordsInitializeDictionary
  89.     ENDM
  90.     
  91.     MACRO
  92.     _OpenDictionary
  93.         DoDispatch _DictionaryDispatch, selectOpenDictionary, paramWordsOpenDictionary
  94.     ENDM
  95.     
  96.     MACRO
  97.     _CloseDictionary
  98.         DoDispatch _DictionaryDispatch, selectCloseDictionary, paramWordsCloseDictionary
  99.     ENDM
  100.     
  101.     MACRO
  102.     _InsertRecordToDictionary
  103.         DoDispatch _DictionaryDispatch, selectInsertRecordToDictionary, paramWordsInsertRecordToDictionary
  104.     ENDM
  105.     
  106.     MACRO
  107.     _DeleteRecordFromDictionary
  108.         DoDispatch _DictionaryDispatch, selectDeleteRecordFromDictionary, paramWordsDeleteRecordFromDictionary
  109.     ENDM
  110.     
  111.     MACRO
  112.     _FindRecordInDictionary
  113.         DoDispatch _DictionaryDispatch, selectFindRecordInDictionary, paramWordsFindRecordInDictionary
  114.     ENDM
  115.     
  116.     MACRO
  117.     _FindRecordByIndexInDictionary
  118.         DoDispatch _DictionaryDispatch, selectFindRecordByIndexInDictionary, paramWordsFindRecordByIndexInDictionary
  119.     ENDM
  120.     
  121.     MACRO
  122.     _GetDictionaryInformation
  123.         DoDispatch _DictionaryDispatch, selectGetDictionaryInformation, paramWordsGetDictionaryInformation
  124.     ENDM
  125.     
  126.     MACRO
  127.     _CompactDictionary
  128.         DoDispatch _DictionaryDispatch, selectCompactDictionary, paramWordsCompactDictionary
  129.     ENDM
  130.  
  131.  
  132.  
  133.     ENDIF    ; ...already included 
  134.